home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / a_utils / perl / perl5a1.lha / perl5alpha1 / do / msgsnd < prev    next >
Text File  |  1992-08-15  |  523b  |  27 lines

  1. int
  2. do_msgsnd(arglast)
  3. int *arglast;
  4. {
  5. #ifdef HAS_MSG
  6.     register STR **st = stack->ary_array;
  7.     register int sp = arglast[0];
  8.     STR *mstr;
  9.     char *mbuf;
  10.     int id, msize, flags;
  11.  
  12.     id = (int)str_gnum(st[++sp]);
  13.     mstr = st[++sp];
  14.     flags = (int)str_gnum(st[++sp]);
  15.     mbuf = str_get(mstr);
  16.     if ((msize = mstr->str_cur - sizeof(long)) < 0) {
  17.     errno = EINVAL;
  18.     return -1;
  19.     }
  20.     errno = 0;
  21.     return msgsnd(id, (struct msgbuf *)mbuf, msize, flags);
  22. #else
  23.     fatal("msgsnd not implemented");
  24. #endif
  25. }
  26.  
  27.